Disk drive storage systems offer cost effective data storage for use with various electronic products and computer systems (referred to as host systems). As shown in FIG. 1, a disk drive 10 comprises a magnetic recording medium, in the form of a disk or platter 12 having a hub 13 and a magnetic read/write transducer 14, commonly referred to as a read/write head, for reading data stored on the disk 12 and writing (storing) data to the disk 12. The read/write head 14 is attached to or formed integrally with a suspension arm 15 suspended over the disk 12 and affixed to a rotary actuator arm 16. The actuator arm 16 is pivotably connected to a platform 20 at a pivot joint 22. A voice coil motor 24 drives the actuator arm 16 to position the head 14 over a selected position on the disk 12.
Although only a single disk 12 is illustrated in FIG. 1, a conventional disk drive system comprises a plurality of double-sided disks oriented in a stacked configuration, with one head servicing one side of each disk.
A typical disk drive as found in a host desk top computer is shown in FIG. 2. A hard disk controller 58, typically mounted on a circuit board 60 separate from the disk drive 10, comprises a servo controller 64 for controlling disk rotation and head positioning and a host interface 66 for receiving host data to be written and supplying read data to the host. In a read mode, a read/write channel 68 receives data read from the disk 12 by the head 14 via a preamplifier 69. The read data is buffered in a volatile buffer memory (controller RAM) 70. In the write mode, the buffer 70 supplies the data to be written to the read/write channel 68 and the preamplifier 69. The head 14 writes the data to the disk 12. In addition to temporarily storing read/write data, the buffer memory 70 also stores data for operating the disk drive 10. A processor 72 and its associated RAM 74, ROM 76 and flash memory 78 manage operation of the hard disk controller 58.
A surface of the disk 12 is divided into a plurality of concentric tracks. A track comprises user data fields (including error correction coding bytes), servo tracking fields and timing/synchronization fields. User data is read from and written to individual sectors during read and write operations. The sector is the smallest storage unit that can be written or read during a write or read operation.
The ability to store and read back information from the disk may be impaired by the presence of disk defects. Flaws or defects in the disk or media surface manifest themselves as bit errors, including missing bits or extra bits.
One common technique for avoiding bit errors performs a surface analysis or disk scan to create an error map of the disk surface. Typically performed during later stages of the disk drive manufacturing process, the disk scan detects and identifies media defects for the entire disk and generates a single ordered list (a global disk defect list, referred to as global because it stores defects for the entire disk) of the physical location of each defect. The defective media sites are avoided during operation of the disk drive to minimize data integrity problems. Since the defects are typically caused by scratches, blobs, finger prints and manufacturing material flaws the defective sectors tend to be closely spaced. The location of the defects and thus the global defect list varies significantly from drive to drive.
The global defect list is stored as a global defect table on the disk 10. Specifically, it is stored on reserved disk tracks that are not accessible to the user and therefore not available for storing data. These tracks may be referred to as “system tracks” or “negative tracks” to distinguish them from the data-storing tracks.
The processor 72 manages the defect list, relieving the host system of that burden, by executing an algorithm that scans the entire global defect list and manages the sector mapping in real time during read and write operations. Before executing a disk read or write operation, the entire global defect table is copied from the nonvolatile storage/memory (i.e., the disk) into the buffer memory 70. Using the buffered defect list, the processor 72 executes an algorithm that maps a logical data block address (an address used by the host data processing system when referring to data elements) to a known good sector physical data block address on the disk drive storage media. The shorter data access time of the buffer memory 70, compared with the nonvolatile storage/memory, speeds execution of the mapping algorithm, but the entire global defect list must be available in the RAM during the mapping process. It is known to pre-process the global defect list as it is loaded into the buffer memory 70 to reduce execution time of the mapping algorithm.
The disk drive data storage systems in desktop and laptop personal computers are physically larger than the small form-factor disk drives that are becoming increasingly popular in portable data processing devices, such as digital audio players, video recorders, digital cameras, cell phones, digital organizers and personal digital assistants. The disk drive in a desktop computer is about three inches in diameter. Currently, the small form-factor disk drives range between about 1.5 inches and 0.85 inches in diameter.
For a typical desktop disk drive, the hard disk controller 58 and its associated components are mounted on the separate printed circuit board 60 of FIG. 2. Due to the size of the desktop host computer, the board 60 provides sufficient area for a large discrete buffer memory 70 with sufficient capacity to store the global defect table without impacting the primary purpose of the buffer memory, i.e., to buffer the user data during read and write operations.
In state-of-the-art disk drives for consumer electronics products all hard disk controller components are fabricated on a single integrated circuit that includes a relatively small-capacity buffer memory 70, i.e., small compared with the buffer memory size of earlier generation disk drives and of desktop/laptop disk drives. FIG. 3 illustrates a printed circuit board 80 for a state-of-the-art small form-factor disk drive, comprising a hard disk drive controller integrated circuit 82, further comprising the hard disk drive controller elements described above. Due to the relatively small size of the buffer memory 70 within the integrated circuit 82, it may be necessary to allocate a sizable portion of this smaller memory capacity to the global defect table. Since the buffer also stores user data during read and write operations, allocating a large share of the buffer to the defect table degrades disk drive performance by slowing the data reading and writing processes.
For example, the buffer memory within one commercially available hard disk drive integrated circuit has a storage capacity of 380 KB. A defect table for a 12 GB disk drive can exceed 50 KB. Thus between about 10% and 15% of this buffer is occupied by the defect table. Since the buffer's primary purpose is buffering user data during read and write operations, a reduction in usable buffer space detrimentally impacts data transfer performance (a very important operating metric in the disk drive industry).
It is also observed that as disk drive size decreases (i.e., for use with portable data processing devices and consumer electronics devices) the number of manufacturing defects tends to increase, requiring a larger storage capacity for the global defect table. The two conflicting trends of more disk drive defects and smaller capacity buffers create design and operating challenges not present in the larger disk drive data storage systems.
Since no user data can be written to a defective sector, the data can be slipped to the next good sector. A difference between a physical location of the intended (defective) sector and the physical location where the data is stored, referred to as an offset, is stored in the defect table and for use in locating slipped data during a read operation. Instead of merely slipping the data to the next good sector, user data intended for a defective sector can be reallocated to a non-defective spare sector. To locate reallocated data the global defect table includes a pointer to the sector address where the data has been reallocated.
Previous attempts to address the issue of defect table storage capacity utilize zone-based defect tables that are smaller than the global defect table. But these tables may not be sufficiently small relative to the buffer size to avoid performance degradation. Also, zone-based tables require additional firmware to manage the multiple zone tables.